package com.eascs.p2p.common.service;

import java.util.List;

import com.eascs.app.dao.PageResult;
import com.eascs.p2p.common.entity.AdminRoleEntity;
import com.eascs.p2p.common.entity.AdminRoleResourceEntity;
import com.eascs.p2p.common.vo.ModelResult;
import com.eascs.p2p.common.vo.UserRoleVo;

public interface IAdminRoleService {
	/**
	 * 查询角色列表
	 * 
	 * @param
	 * @return
	 */
	public ModelResult<PageResult<Object[]>> selectRolePage(UserRoleVo role);
	/**
	 * 新增角色
	 * 
	 * @return
	 */
	public ModelResult<String> insertRole(AdminRoleEntity role);
	
	/**
	 * 删除角色资源
	 * 
	 * @return
	 */
	public ModelResult<Boolean> deleteRoleRes(String roleId);
	
	/**
	 * 删除角色用户
	 * 
	 * @return
	 */
	public ModelResult<Boolean> deleteRoleUser(String roleId);
	/**
	 * 删除角色
	 * 
	 * @return
	 */
	public ModelResult<Boolean> deleteRole(String roleId);
	

	public ModelResult<AdminRoleEntity> getAdminRoleById(String roleId);
	
	
	public ModelResult<AdminRoleEntity> insertRoleReturnRole(AdminRoleEntity sysRole);
	
	public ModelResult<Boolean> insertRoleResBatch(List<AdminRoleResourceEntity> roleResList);
	
	
	
	
	/**
	 * 修改角色
	 * 
	 * @return
	 */
	public ModelResult<Boolean> updateRole(AdminRoleEntity role);

	
	/**
	 * @Title: getRoleName
	 * @Description: 查询所有的角色名称
	 * @author 张庆奇
	 * @param keywords
	 * @return
	 * @return ModelResult<List<Object[]>>
	 * @throws @date
	 *             2016年7月19日 下午4:12:27
	 */
	ModelResult<List<Object[]>> getRoleName(String keywords);
	/**
	 * 根据用户 查询角色
	 * 
	 * @param
	 * @return
	 */
	public ModelResult<List<AdminRoleEntity>> selectRolesByUserNo(String userNo);

	
}
